A call to PInvoke function '[...]' has unbalanced the stack

Posted by Sanctus2099 on Stack Overflow See other posts from Stack Overflow or by Sanctus2099
Published on 2010-05-31T07:19:12Z Indexed on 2010/05/31 7:23 UTC
Read the original article Hit count: 1349

Filed under:
|
|
|
|

Hey
I'm getting this weird error on some stuff I've been using for quite a while. It may be a new thing in Visual Studio 2010 but I'm not sure.
I'm trying to call a unamanged function written in C++ from C#.
From what I've read on the internet and the error message itself it's got something to do with the fact that the signature in my C# file is not the same as the one from C++ but I really can't see it.
First of all this is my unamanged function below:
TEngine GCreateEngine(int width,int height,int depth,int deviceType); And here is my function in C#:
[DllImport("Engine.dll", EntryPoint = "GCreateEngine", CallingConvention = CallingConvention.StdCall)]
public static extern IntPtr CreateEngine(int width,int height,int depth,int device);

When I debug into C++ I see all arguments just fine so thus I can only think it's got something to do with transforming from TEngine (which is a pointer to a class named CEngine) to IntPtr. I've used this before in VS2008 with no problem.
I hope my problem is clear enough for you guys to understand.

© Stack Overflow or respective owner

Related posts about c#

Related posts about c++